home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / program / swagd_f.zip / DATETIME.SWG / 0026_IFDAY.PAS.pas < prev    next >
Pascal/Delphi Source File  |  1993-10-28  |  2KB  |  90 lines

  1. {$R-,S+,I+,D+,T-,F-,V+,B-,N-,L+ }
  2. {$M 16384,0,1024 }
  3. program ifday;
  4. {
  5. ***********************************************************************
  6.  
  7. IFDAY.PAS
  8. 8/18/93
  9. by Bryan Valencia.
  10.  
  11. Shows use of the EXEC Command to run Command.com with a command line
  12. taken from user entered parameters.
  13.  
  14. Include IFDAY in Batch Files to Run lines only on certain days.
  15.  
  16.  
  17. ***********************************************************************
  18. }
  19. uses DOS, CRT;
  20. var
  21.         y,m,d,dow:word;
  22.  
  23. procedure help;
  24. begin
  25.         textattr:=yellow;
  26.         gotoxy(1,wherey); ClrEOL;
  27.         Writeln('IFDAY by Bryan Valencia [71553,3102]');
  28.         Writeln('SYNTAX');
  29.         textattr:=lightgreen;
  30.         Writeln('IFDAY [DAYOFWEEK,DAYNO] COMMAND');
  31.         WRiteln('IFDAY 4 MIRROR c:  (if today is the 4th, mirror the C: drive).');
  32.         WRiteln('IFDAY MON SD C: /Unfrag  (if today is Monday, run speed disk).');
  33.         Halt;
  34. end;
  35.  
  36. Procedure PerformCommand;
  37. var
  38.         s:string;
  39.         t:byte;
  40. Begin
  41.         s:='';
  42.         for t:=2 to paramcount do s:=s+paramstr(t)+' ';
  43.         Writeln(s);
  44.         Exec('c:\Command.Com','/c '+s);
  45.         Halt;
  46. end;
  47.  
  48. Function Checknum(i:integer):boolean;
  49. var
  50.         y,m,d,dow:word;
  51. begin
  52.         Getdate(y,m,d,dow);
  53.         if i=d then Checknum:=true else Checknum:=False;
  54. end;
  55. Function CheckDay(S:String):boolean;
  56. var
  57.         y,m,d,dow:word;
  58.         ss:string[3];
  59. begin
  60.         Getdate(y,m,d,dow);
  61.         Case dow of
  62.                 0:SS:='SU';
  63.                 1:SS:='MO';
  64.                 2:SS:='TU';
  65.                 3:SS:='WE';
  66.                 4:SS:='TH';
  67.                 5:SS:='FR';
  68.                 6:SS:='SA';
  69.         end;
  70.         if S=SS then CheckDay:=true else CheckDay:=False;
  71. end;
  72.  
  73.  
  74. Procedure GO;
  75. var
  76.         s:string[2];
  77.         v,t:byte;
  78.         e:integer;
  79.  
  80. Begin
  81.         s:=paramstr(1);
  82.         for t:=1 to 2 do s[t]:=upcase(s[t]);
  83.         Val(s,v,e);
  84.         if e=0 then if Checknum(v) then PerformCommand;
  85.         if e<>0 then if CheckDay(S) then PerformCommand;
  86. end;
  87.  
  88. Begin
  89.         if paramcount<2 then help else GO;
  90. End.